#pragma once
#include "GameRoutine.h"
#include "GameObject.h"
#include "PhysicObject.h"
#include "Car.h"
#include "Barrel.h"
#include "Wall.h"
#include "TrackCoverTester.h"
#include "CustomModel.h"
#include "GTimer.h"
#include "TextField.h"
#include "Sprite.h"
#include "Event.h"
#include "Bomb.h"

#include <cstdlib>
#include <sstream>

class InitGame :
	public GameRoutine
{
public:
	InitGame(GameState &state);
	~InitGame(void);

	
	CustomModel *customModel;//we create pointer of CustomModel type, so we do not have to cast our Model pointer every time
	//GTimer reloadTimer;
	GTimer fpsTimer;
	FatPointer<InitGame, void> *fpsPointer;
	FatPointer<InitGame, void> *incrPointer;

	void run();
	void addModel(Model *_model) { customModel = (CustomModel *) _model; }; //we cast model pointer to our inheritet class pointer
	void printFps(Event *e);
	void incrFrames(Event *e);
};
